home *** CD-ROM | disk | FTP | other *** search
- //==================================
- // PEDUMP - Matt Pietrek 1995
- // FILE: COMMON.H
- //==================================
-
- // MakePtr is a macro that allows you to easily add to values (including
- // pointers) together without dealing with C's pointer arithmetic. It
- // essentially treats the last two parameters as DWORDs. The first
- // parameter is used to typecast the result to the appropriate pointer type.
- #define MakePtr( cast, ptr, addValue ) (cast)( (DWORD)(ptr) + (DWORD)(addValue))
-
- void DumpHeader(PIMAGE_FILE_HEADER pImageFileHeader);
- void DumpOptionalHeader(PIMAGE_OPTIONAL_HEADER pImageOptionalHeader);
- void DumpSectionTable(PIMAGE_SECTION_HEADER section,
- unsigned cSections,
- BOOL IsEXE);
- BOOL LookupSymbolName(DWORD index, PSTR buffer, UINT length);
- void DumpSymbolTable(PIMAGE_SYMBOL pSymbolTable, unsigned cSymbols);
- LPVOID GetSectionPtr(PSTR name, PIMAGE_NT_HEADERS pNTHeader, DWORD imageBase);
- PIMAGE_SECTION_HEADER GetSectionHeader(PSTR name, PIMAGE_NT_HEADERS pNTHeader);
- PIMAGE_SECTION_HEADER GetEnclosingSectionHeader(DWORD rva,
- PIMAGE_NT_HEADERS pNTHeader);
- void DumpRawSectionData(PIMAGE_SECTION_HEADER section,
- PVOID base,
- unsigned cSections);
- void DumpLineNumbers(PIMAGE_LINENUMBER pln, DWORD count);
- void DumpDebugDirectory(PIMAGE_DEBUG_DIRECTORY debugDir, DWORD size, DWORD base);
- void DumpCOFFHeader(PIMAGE_COFF_SYMBOLS_HEADER pDbgInfo);
- void HexDump(PBYTE ptr, DWORD length);
-